package cn.com.surker.material.service;

import cn.com.surker.material.entity.MainMaterialExaminePrice;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import cn.com.surker.spring.RestResultDto;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;

/**
* <p>
    * 原材价格审核表 服务类
    * </p>
*
* @author admin
* @since 2025-01-10
*/
public interface MaterialExaminePriceBaseService extends IService<MainMaterialExaminePrice> {

    /**
     * 云端分页查询
     * @param searchVal
     * @param orgId
     * @param supplierId
     * @param materialId
     * @param startTime
     * @param endTime
     * @param type
     * @param offset
     * @param limit
     * @return
     */
    IPage findCloudPage(String searchVal, Long orgId, Long supplierId, Long transportId, Long materialId,  String today,
                        String startTime, String endTime, Integer type, Integer offset, Integer limit);

    /**
     * 按条件查询数据,价格审核表导出按此接口来
     * @param searchVal
     * @param orgId
     * @param supplierId
     * @param materialId
     * @param today
     * @param startTime
     * @param endTime
     * @param type
     * @return
     */
    List<MainMaterialExaminePrice> findCloudData(String searchVal, Long orgId, Long supplierId, Long transportId, Long materialId,
                                                 String today, String startTime, String endTime, Integer type);

    /**
     * 新增价格审核信息
     * @param examinePrice
     * @return
     */
    RestResultDto saveExaminePrice(MainMaterialExaminePrice examinePrice);

    /**
     * 修改价格审核信息
     * @param examinePrice
     * @return
     */
    RestResultDto updateExaminePrice(MainMaterialExaminePrice examinePrice);

    /**
     * 修改价格审核信息状态
     * @param id
     * @param orgId
     * @param status
     * @param creator
     * @return
     */
    RestResultDto updateStatus(Long id, Long orgId,String today, Long supplierId, Long materialId,
                               Integer status, String creator);

    /**
     * 审核价格表
     * @param orgId
     * @param today
     * @param isCheck
     * @param creator
     * @return
     */
    RestResultDto examinePrice(Long orgId, String today, Integer isCheck, String creator);

    /**
     * 查询是否已审核
     * @param orgId
     * @param today
     * @return
     */
    Integer findCheck(Long orgId, String today);
//    /**
//     * 计算供应商主材价格审核报表信息
//     * @param today 结算月份
//     * @param supplierId 供应商ID
//     * @param materialId 材料ID
//     * @param creator
//     * @return
//     */
//    RestResultDto calcExaminePrice(String today, Long orgId, String orgName, Long supplierId, Long materialId, String startTime,
//                                   String endTime, String creator);
//
//    /**
//     * 计算供应商运输价格审核报表信息
//     * @param today 结算月份
//     * @param supplierId 供应商ID
//     * @param materialId 材料ID
//     * @param creator
//     * @return
//     */
//    RestResultDto calcTransportExaminePrice(String today, Long orgId, Long supplierId, Long transportId, Long materialId,
//                                            String startTime, String endTime, String creator);

}
